﻿using API.Models;
using BLL;
using BLL.Interfaces;
using DAL;
using POCOS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;


namespace API.Controllers
{
    public class ValuesController : ApiController
    {
        private AuteurContext db = new AuteurContext();
        private IAuteurServices _auteurServices;
        // GET api/values

       
        public ValuesController(IAuteurServices AuteurServices)
        {
            this._auteurServices = AuteurServices;

        }

        public HttpResponseMessage GetAuteur()
        {

            var auth = _auteurServices.GetAuteurs();
            var auteurs = _auteurServices.GetAuteur().Select(a => new AuteurModel
             { 
             Id=a.Id,
             Name=a.Name,
             Lastname=a.Lastname,
             Adressmail=a.Adressmail
            
            
            }).ToList();

            if (auteurs == null)
            {
                return Request.CreateResponse(HttpStatusCode.NotFound);

            }
            else
            {
               return Request.CreateResponse(HttpStatusCode.OK, auteurs);

            }
           
        }

        // GET api/values/5
        //public HttpResponseMessage GetAuteurId(int id)
        //{
        //    var auteur = db.Auteurs.Select(a => new AuteurModel
        //    {
        //        Id = a.Id,
        //        Name = a.Name,
        //        Lastname = a.Lastname,
        //        Adressmail = a.Adressmail
            

        //    } ).Where(a=>a.Id==id);

        //    if (auteur == null)
        //    {
        //        Request.CreateResponse(HttpStatusCode.NotFound);

        //    }
        //    else
        //    {
        //        return Request.CreateResponse(HttpStatusCode.OK, auteur);
        //    }
        //}

        // POST api/values
        public void Post([FromBody]string value)
        {
        }

        // PUT api/values/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        public void Delete(int id)
        {
        }
    }
}